//====================== Browser checks
var Opera = window.opera ? true : false;
var IE = (document.all && document.getElementById && !Opera) ? true:false;
//====================== 
//====================== Initialiseer de volgende functies
function init(){
	if(IE){ 
		MinimumSize();
    fixbookmark();		
		try {
			document.execCommand('BackgroundImageCache', false, true);
		} catch(e) {}
	}
	//these functions are in tekstgroote.js
    writeTGControls("tekstgrootte");
	tekstGrootte();
	setZipCode();        
	setIdenticalAddress('contentForm');
	pdf_downloads();

	setPrintPopup('ZorgverlenerForm_Z00S07Step_btnPrint', "/PrintZorgverlener.aspx");
	setPrintPopup('OrganisatieForm_O00S07Step_btnPrint', "/PrintOrganisatie.aspx");
	setPrintPopup('PasZorgverlenerForm_PZ00S08Step_btnPrint', "/PrintPasZorgverlener.aspx");
	setPrintPopup('MedewerkerpasForm_MP00S07Step_btnPrint', "/PrintMedewerkerPas.aspx");
	setPrintPopup('ServercertificaatForm_SC00S07Step_btnPrint', "/PrintServercertificaat.aspx");
	setPrintPopup('ServercertificaatForm_SC00S07Step_btnOpslaan', "/PrintPdfServercertificaat.aspx");
	setPrintPopup('GBZForm_GBZ00S08Step_btnPrint', "/PrintGBZAanvraag.aspx");
	setPrintPopup('SubsidieForm_SUB00S06Step_btnPrint', "/PrintSubsidieAanvraag.aspx");
		
	setPrintPopup('dashform_DashControleForm_DashControleControleStep_btnVolgende', "/PrintSmartForm.aspx");
	
	
	setPrintButton('ZorgverlenerForm_Z00S00Step_btnPrint');
	setPrintButton('OrganisatieForm_O00S00Step_btnPrint');
	setPrintButton('PasZorgverlenerForm_PZ00S00Step_btnPrint');
	setPrintButton('MedewerkerpasForm_MP00S00Step_btnPrint');
	setPrintButton('ServercertificaatForm_SC00S00Step_btnPrint');
	setPrintButton('OrganisatieForm_Z00S00Step_btnPrint');
	setPrintButton('GBZForm_GBZ00S00Step_btnPrint');
	setPrintButton('SubsidieForm_SUB00S00Step_btnPrint');
	
	setPrintButton('dashform_ZorgverlenerForm_Z00S00Step_btnPrint');
	setPrintButton('dashform_OrganisatieForm_O00S00Step_btnPrint');
	setPrintButton('dashform_PasZorgverlenerForm_PZ00S00Step_btnPrint');
	setPrintButton('dashform_MedewerkerpasForm_MP00S00Step_btnPrint');
	setPrintButton('dashform_ServercertificaatForm_SC00S00Step_btnPrint');
	setPrintButton('dashform_OrganisatieForm_Z00S00Step_btnPrint');
	setPrintButton('dashform_GBZForm_GBZ00S00Step_btnPrint');
	setPrintButton('dashform_SubsidieForm_SUB00S00Step_btnPrint');
}

function setIdenticalAddress(ID) {
	if (document.getElementById(ID)) {
		var entries = document.getElementById(ID).getElementsByTagName('div');
		for (var i=0; i<entries.length; i++) {
			if (entries[i].className.indexOf('extraFormNav') != -1) {
				var entrie = entries[i].getElementsByTagName('input')[0];
				if (entrie) {
					entrie.onclick = function() {
						var target = document.getElementById(this.title);
						if (target.style.display == 'none') {
							target.style.display = 'block';
						}
						else {
							target.style.display = 'none';
						}
					}
					if (entrie.checked) {
						document.getElementById(entrie.title).style.display = 'none';	
					}
				}
			}
		}
	}
}

function setZipCode(){
	items = document.getElementsByTagName('input');
	for(i=0; i<items.length; i++){
		if(items[i].name == 'frmAddress-Postcode-letters'){
			items[i].onblur = function() {this.value = this.value.toUpperCase();}
		}
	}
}

function setPrintPopup(ID, page)
{
	if (document.getElementById(ID)) {
		var but = document.getElementById(ID);
		but.onclick = function(){
			var win = window.open(page, "printpopup");
			if(win)
			{
				return false;
			}
			else
			{
				return true;
			}
		}
	}
}

function setPrintButton(ID)
{
    var buttonPrint = document.getElementById(ID)
    if (buttonPrint) 
    {
        ShowElement(ID);
        
        buttonPrint.onclick = function(){
			ShowPrintDialog();
			return false;
		}
    }
}


function ShowElement(ID)
{
    if (document.getElementById(ID)) 
    {
        document.getElementById(ID).style.display = 'block';
    }
}

function ShowPrintDialog()
{ 
	if (window.print) {
		window.print() ;  
	} else {
		var WebBrowser = '<OBJECT ID="WebBrowser1" WIDTH=0 HEIGHT=0 CLASSID="CLSID:8856F961-340A-11D0-A96B-00C04FD705A2"></OBJECT>';
		document.body.insertAdjacentHTML('beforeEnd', WebBrowser);
		WebBrowser1.ExecWB(6, 2);//Use a 1 vs. a 2 for a prompting dialog box    WebBrowser1.outerHTML = "";  
	}
}

function ClearRadios()
{
    if(document.getElementsByTagName('input'))
    {
        var inputs = document.getElementsByTagName('input');
		for(var i=0 ; i<inputs.length ; i++){
		    if(inputs[i].type == 'radio')
		    {
		        inputs[i].checked = false;
		    }
		}
    
    }

}

function pdf_downloads(){  //retrieve all links, open a new window when classname is 'document' of 'eformulier'
	if(document.getElementsByTagName('a')){
		var exlinks = document.getElementsByTagName('a');
		for(var i=0 ; i<exlinks.length ; i++){
			if(exlinks[i].className == 'document' || exlinks[i].className == 'eformulier' || exlinks[i].className == 'extern'){
				exlinks[i].onclick = function(){
					window.open(this.href,'');
					return false;
				}
			}
		}
	}
}

//====================== Aanroep functies bij Onload-event
window.onload = function() {
	init();	
}

//====================== Aanroep functies bij Onresize-event
window.onresize = function() {
	if(IE){ 
		MinimumSize(); 
		fixbookmark;
	}
}

//====================== Paginagrootte aangepast aan schermgrootte
function MinimumSize() {
	var minSize = 756;
	var maxSize = 960;

	var w = document.body.offsetWidth;
	if (w < minSize) {
		document.getElementById('wrapper').style.width = minSize + "px";
		document.getElementById('header').style.width = minSize + "px";
		document.getElementById('footer').style.width = minSize + "px";
		document.getElementById('container').style.width = minSize + "px";
		document.getElementById('search').style.width = minSize + "px";
		document.getElementById('navigatie').style.width = minSize + "px";
	} else if (w > maxSize) {
		document.getElementById('wrapper').style.width = "100%";
		document.getElementById('header').style.width = "100%";
		document.getElementById('footer').style.width = "100%";
		document.getElementById('container').style.width = maxSize + "px";
		document.getElementById('search').style.width = maxSize + "px";
		document.getElementById('navigatie').style.width = maxSize + "px";
	} else if ((w > minSize) && (w <= maxSize)) {
		document.getElementById('wrapper').style.width = "100%";
		document.getElementById('header').style.width = "100%";
		document.getElementById('footer').style.width = "100%";
		document.getElementById('container').style.width = "100%";
		document.getElementById('search').style.width = "100%";
		document.getElementById('navigatie').style.width = "100%";
	}
}


/*
Als we op de begrippenlijst pagina zijn gekomen via een bookmark, zorgt het resizen ervoor dat we niet meer bij de goede term zijn in het scherm.
We gaan hier dus zorgen dat we na het resizen weer terug komen bij de oorspronkelijke bookmark.
*/
function fixbookmark() {
  URL = document.location.href;
  zoekstring = 'begrippenlijst.php';
  start = URL.indexOf(zoekstring);
  if (start > 0) {
    start2 = URL.indexOf('#');
    if (start2 > 0) {
      bookmark = URL.substring(start2);
      document.location.href=bookmark;
    }
  }
}
// -------------------------------------
// TEKSTGROOTTE
// -------------------------------------

//====================== variabels bepalen - max, min en gemiddelde (100%) tekstgrootte
var mingrootte = 1;
var midgrootte = 3;
var maxgrootte = 5;

 
//====================== zoeken binnen document naar tekstgrootte controls 
function writeTGControls(elementid) {
  var url = window.location.href;
  var strTitle  = "";
  var larger   = "";
  var smaller = "";

  if (url.indexOf("/en/") >= 0) {
	  var strTitle  = "Text size";
	  var larger   = "larger";
	  var smaller = "smaller";
  }
  else  {
	  var strTitle  = "Tekstgrootte";
	  var larger   = "groter";
	  var smaller = "kleiner";
  }
  var el = document.getElementById(elementid);
  if(el) {
	var theHTML = "<h2>" + strTitle + "</h2>";
	theHTML += "<ul>"
	theHTML += "<li><a id=\"tekstmin\" href=\"#kleiner\" title=\"" + smaller + "\">-</a></li>";
	theHTML += "<li><a id=\"tekstplu\" href=\"#groter\" title=\""+ larger + "\">+</a></li>";
	theHTML += "</ul>";
	el.innerHTML = theHTML;
  }
}

function tekstGrootte()	{
	this.tekstControls = new Array();
	// bestaat tekstgrootte op deze pagina?
	var tc = document.getElementById('tekstgrootte');
	if (!tc) {return false;}
	else {
		this.plus = document.getElementById('tekstplu');
		this.tekstControls[this.tekstControls.length] = new controlObjs(this,plus);
		this.minus = document.getElementById('tekstmin');
		this.tekstControls[this.tekstControls.length] = new controlObjs(this,minus);
		// lees cookie en set tekstgrootte
		if(!(getCookieVal('VWSFontSize') == '')){
			fontWissel(getCookieVal('VWSFontSize'));
			var maat = getCookieVal('VWSFontSize');
			var huidigeGrootte = maat.charAt(4);
			if (huidigeGrootte > 0 && huidigeGrootte < 6) {
				this.grootte = huidigeGrootte;
			} else {
				this.grootte = midgrootte;
			}
			//check voor max of min tekstgrootte
			checkOnactief(this.plus,this.minus,this.grootte);
		}
		// als er geen cookie is, set tekstgrootte naar gemiddeld (3)
		else {
			this.grootte = midgrootte;
		}
		this.ss = 'maat' + this.grootte;
	}
}

//====================== object collectie en klik-functie
var controlObjs = function(tekstGrootte,control) {
	this.tekstGrootte = tekstGrootte;
	this.control = control;
	this.richting = this.control.id;
	this.richting.controlObjs = this;
	this.control.controlObjs = this;
	this.control.onclick = function () {
		this.controlObjs.tekstControl();
        return false;
    }
}

//====================== deze functie checkt dat de tekstgrootte is niet minder dan 1 en niet groter dan 5
controlObjs.prototype.checkControl = function () {
	//alert(this.tekstGrootte.grootte);
	if ((this.control.id == 'tekstmin') && (this.tekstGrootte.grootte < mingrootte)) {
		this.tekstGrootte.grootte ++;
		return false;
	}
	else if ((this.control.id == 'tekstplu') &&(this.tekstGrootte.grootte > maxgrootte)) {
		this.tekstGrootte.grootte --;
		return false;
	}
	else {
		return true;
	}
}

//====================== links wordt onactief als de grootste of de kleinste tekstgrootte is al in gebruik
var checkOnactief = function (plus,minus,grootte) {
	this.plus = plus;
	this.minus = minus;
	this.grootte = grootte;
	// reset styles
	this.plus.className = '';
	this.minus.className = '';
	if (this.grootte == mingrootte) {
		this.minus.className = 'inactief';
	}
	else if (this.grootte == maxgrootte) {
		this.plus.className = 'inactief';
	}
	return false;
}

//====================== fontWissel roepen als de font niet al te groot of te klein is
controlObjs.prototype.tekstControl = function () {
	if (this.richting == 'tekstplu') {
		this.tekstGrootte.grootte ++;

	}
	else {
		this.tekstGrootte.grootte --;
	}
	if (this.checkControl()) {
		checkOnactief(this.tekstGrootte.plus,this.tekstGrootte.minus,this.tekstGrootte.grootte);
		this.tekstGrootte.ss = 'maat' + this.tekstGrootte.grootte;
		fontWissel(this.tekstGrootte.ss);		
	}
}

//====================== zoeken naar stylesheet link elementen met een 'title' attribute 
//====================== wissel van stylesheet 
function fontWissel(titel) {
	var i, a, main;
	for(i=0; (a = document.getElementsByTagName("link")[i]); i++) {
		if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) {
			a.disabled = true;
			if(a.getAttribute("title") == titel) a.disabled = false;
		}
	}
	setCookie("VWSFontSize", titel);
	if(document.getElementById('t1')){ adjustFontImages(titel) };
}



// -- COOKIE FUNCTIONS:

function setCookie(name, value, expires, path, domain, secure) {

	a = document.cookie= name + "=" + escape(value) +
		((expires) ? "; expires=" + expires.toGMTString() : "") +
		"; path=/" +
		((domain)  ? "; domain=" + domain : "") +
		((secure)  ? "; secure" : "");
	return true;
}

function getCookieVal(name) {
	var dc = document.cookie;
	var prefix = name + "=";
	var begin = dc.indexOf("; " + prefix);
	if (begin == -1) {
		begin = dc.indexOf(prefix);
		if (begin != 0) return null;
	} else {
		begin += 2;
	}
	var end = document.cookie.indexOf(";", begin);
	if (end == -1) {
		end = dc.length;
	}
	return unescape(dc.substring(begin + prefix.length, end));
}

function deleteCookie(name, path, domain) {

	if (getCookieVal("VWSFontSize")) {
		a = document.cookie = name + "= empty" +
			"; expires=Thu, 01-Jan-70 00:00:01 GMT" +
			((path) ? "; path=" + path : "/") +
			((domain) ? "; domain=" + domain : "");;
	}
}

function getExpireDate(){
	var expires = new Date();
	expires.setTime((new Date().getTime()) + 60*60);
	return expires;
}


if(!(getCookieVal("VWSFontSize") == '')){
	fontWissel(getCookieVal('VWSFontSize'));
}